/* vim:ft=objc:
 * $Id: Keychain.h 114 2005-05-12 05:15:40Z bmoore $
 *
 * Copyright (c) 2004, 2005  Branden J. Moore.
 *
 * This file is part of MacBiff, and is free software; you can redistribute
 * it and/or modify it under the terms of the GNU General Public License
 * version 2 as published by the Free Software Foundation.
 *
 * MacBiff is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 * more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with MacBiff; if not, write to the Free Software Foundation, Inc., 59
 * Temple Place, Suite 330, Boston, MA  02111-1307 USA.
 *
 */

#import <Cocoa/Cocoa.h>
#import <Security/SecKeychain.h>
#import <Security/SecKeychainItem.h>
#define PREFS_REVISION 2

@interface Keychain : NSObject
{
	NSLock *lock1;
	NSLock *lock2;
	NSString *fetchedpw;

	IBOutlet NSWindow *passwordWin;
	IBOutlet NSTextField *usernameTextField;
	IBOutlet NSTextField *hostnameTextField;
	IBOutlet NSSecureTextField *passwordTextField;
}

- (IBAction) passwordFromUser: (id)sender;

- (void) savePassword: (NSString*) pw
	      forUser: (NSString*) u
	       onHost: (NSString*) h
	       atPort: (UInt16) pt
	    withProto: (SecProtocolType) proto;

- (NSString*) getPasswordForUser: (NSString*) u
			  onHost: (NSString*) h
			  atPort: (UInt16) pt
		       withProto: (SecProtocolType) proto
			byAsking: (BOOL) ask;


@end

extern Keychain *keychain;
